package info.itloser.learnkotlindemo.adapter

import android.content.Context
import android.content.Intent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import info.itloser.learnkotlindemo.R
import info.itloser.learnkotlindemo.bean.BaseItem

/**
 * 说明：
 * 作者： itloser.info
 * 日期： 2022/2/25 16:01
 * 备注：
 */
class BaseItemAdapter(private val baseItems: ArrayList<BaseItem>, private val context: Context) : RecyclerView.Adapter<BaseItemAdapter.BaseHolder>() {

    class BaseHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        val ivIcon: ImageView = itemView.findViewById(R.id.iv_icon)
        val tvTitle: TextView = itemView.findViewById(R.id.tv_title)
        val tvContent: TextView = itemView.findViewById(R.id.tv_content)
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseHolder {
        val view = LayoutInflater.from(context).inflate(R.layout.item_simple, parent, false)
        return BaseHolder(view)
    }

    override fun onBindViewHolder(holder: BaseHolder, position: Int) {

        //获得当前项
        val baseItem = baseItems[position]

        //图标
        holder.ivIcon.setImageResource(baseItem.iconId)

        //标题
        holder.tvTitle.text = baseItem.title

        //内容
        holder.tvContent.text = baseItem.desc

        //跳转的页面
        holder.itemView.setOnClickListener {
            val intent = Intent(context, baseItem.targetClass)
            context.startActivity(intent)
        }


    }

    override fun getItemCount(): Int {
        return baseItems.size
    }
}